//
//  SQLiteManager.swift
//  01-Swift数据库-FMDB
//
//  Created by albert on 16/7/2.
//  Copyright © 2016年 albert. All rights reserved.
//  数据库管理类

import UIKit

class SQLiteManager: NSObject {
    // 1.将类设计成单例
    static let sharedInstance = SQLiteManager()
    
    // 2.保存数据库队列对象（使用数据库队列可以保证线程安全）
    var dbQueue: FMDatabaseQueue?
    
    // 3.打开数据库
    /** 打开数据库 */
    func openDB(dbName: String) {
        // 3.1获取数据库文件存放的路径
        let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last
        let filePath = path?.stringByAppendingString("/" + dbName)
        print(filePath)
        
        // 3.2创建数据库
        dbQueue = FMDatabaseQueue(path: filePath)
        
        // 3.3创建表
        createTable()
    }
    
    /** createTable */
    private func createTable() {
        // 1.拼接创建表的SQL语句
        let createTableSQL = "CREATE TABLE IF NOT EXISTS t_status ('statusID' INTEGER NOT NULL PRIMARY KEY,'statusText' TEXT,'userID' INTEGER, 'createTime' TEXT DEFAULT (datetime('now', 'localtime')));"
        
        // 2.执行SQL语句
        dbQueue?.inDatabase({ (db) -> Void in
            if db.executeUpdate(createTableSQL, withArgumentsInArray: nil) {
                JKLog("创建表成功")
            }
        })
    }
}
